#include <stdio.h>
#include <stdlib.h>

//二级指针的理解
int main() {
    int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12};
    printf("sizeof(a)=%llu\n", sizeof(a));//12*4 48个字节
    printf("a[2][3]=%d\n", a[2][1]);
    /**1 2 3 4
     * 5 6 7 8
     * 9 10 11 12
     * */

    /**二级指针讲解（不在408大纲范围，408初试不考，初试考C的学校可能需要，机试用到概率极低）
     * */
    int i = 10;
    int *p = &i;
    int **pcur = &p;//如果我们需要把一个一级指针变量的地址存起来，那么就需要二级指针类型
    printf("i=%2d\n", i);
    printf("*p=%2d\n", *p);
    printf("**pcur=%2d\n", **pcur);//通过两次取值可以拿到i的值
    printf("sizeof(*p)=%2llu\n", sizeof(p));
    printf("sizeof(**pcur)=%2llu\n", sizeof(pcur));

    return 0;
}
